Motion picture reproducing middleware selecting/executing device and method

ABSTRACT

Achieved is a motion picture reproducing apparatus at low price (being little increased in price even though the number of specifications are increased) capable of receiving motion picture streams complying with various specifications such as those containing programs that operate on different pieces of middleware, and reproducing motion pictures. A middleware storage unit  43  stores a plurality of different pieces of middleware. Based on program identification information contained in a motion picture stream received by the motion picture reproducing apparatus, an applicable middleware selecting unit  40  selects middleware applicable to a program contained in the motion picture stream. A middleware reading unit  41  reads the selected applicable middleware from the middleware storage unit  43.  A middleware executing unit  42  executes the read middleware.

TECHNICAL FIELD

[0001] The present invention relates to motion picture reproducingapparatuses for reproducing a motion picture stream and, morespecifically, to a middleware executing device used for a motion picturereproducing apparatus for reproducing motion pictures by receiving amotion picture stream that contains a program and operating the programon middleware, the middleware executing device making the programoperable by executing middleware applicable to the program.

BACKGROUND ART

[0002] In recent years, specifications as to motion picture streams formotion picture reproducing apparatuses have been actively developed. Forexample, in Japan, there is a specifications for BS digital, and inEurope, there is the one for DVB-MHP (ETSI TS 101 812 V1.1.1 (2000-07)Digital Video Broadcasting (DVB); Multimedia Home Platform (MHP)Specification 1.0), and others.

[0003] In every specification, a motion picture stream contains aprogram. In order for a motion picture reproducing apparatus to operatethe program for reproducing motion pictures, dedicated middleware isrequired. One example of middleware for BS digital is a BML browser. Oneexample of middleware for DVB-MHP is a Java virtual machine(hereinafter, JavaVM).

[0004] That is, the program contained in the motion picture stream basedon the BS digital specification is operated on a BML browser, but not ona JavaVM. Conversely, the program contained in the motion picture streambased on the DVB-MHP specification is operated on a JavaVM, but not on aBML browser.

[0005] Furthermore, as in the above-described examples in Japan andEurope, under such circumstances as that difference areas adopt motionpicture streams of different specifications, conventional motion picturereproducing apparatuses have been respectively constructed so as tohandle motion picture streams based on a single specification. Forexample, a motion picture reproducing apparatuses destined for Japan hasa BML browser incorporated therein as middleware to handle only motionpicture streams based on the BS digital specification. On the otherhand, a motion picture reproducing apparatus destined for Europe has aJavaVM incorporated therein to handle only motion picture streams basedon the DVB-MHP specification.

[0006] At present, it does not occur so often that motion picturestreams based on a plurality of specifications are broadcast in a singlearea. In the near future, however, with new broadcast companies enteringinto the market, etc., motion picture streams based on a plurality ofdifferent specifications may possibly be broadcast in the same area.Moreover, even if one-area-one-specification is maintained, thespecification may be changed. In such case, until the change of thespecification to the new one is completed, motion picture streams basedon two specifications, the old one and the new one, may possibly bebroadcast.

[0007] If the situation becomes such that motion picture streams basedon a plurality of different specifications are broadcast, theconventional motion picture reproducing apparatus constructed so as tohandle motion picture streams based on only a single specificationcannot reproduce motion picture streams based on other specifications.

[0008] Note that, an easiest way for solving such an inconvenience is tointegrate a plurality of conventional motion picture reproducingapparatuses for handling motion picture streams of differentspecifications into one. However, merely incorporating them into onecauses an increase in size and cost of the apparatus in proportion tothe number of specifications.

[0009] Therefore, another method can be thought, where, in theconventional motion picture reproducing apparatus handling motionpicture streams of a single specification, middleware that becomesrequired is newly incorporated, and a plurality of pieces of middlewareare simultaneously executed, thereby enabling the motion picture streamsbased on the plurality of specifications to be reproduced. For thispurpose, however, the motion picture reproducing apparatus has to beprovided in advance with resources enough to simultaneously execute allpieces of middleware including the newly-incorporated middleware, or hasto be additionally provided with resources for covering a shortfall.Therefore, also in this case, as the number of specifications isincreased, the apparatus becomes increased in cost.

DISCLOSURE OF THE INVENTION

[0010] Therefore, an object of the present invention is to achieve amiddleware selecting and executing device of for motion picturereproduction, the device used for a motion picture reproducing apparatusfor reproducing motion pictures by receiving motion picture streams ofdifferent streams such as those containing programs that operate ondifferent pieces of middleware, the device being inexpensive (not beingincreased in cost even though the number of specifications is increased)and making the program operable by selectively executing middlewareapplicable to the program.

[0011] To solve the problems mentioned above, the present invention hasthe following aspects.

[0012] A first aspect of the present invention is directed to amiddleware selecting and executing device for motion picturereproduction used in a motion picture reproducing apparatus thatreproduces motion pictures by receiving a motion picture streamcontaining motion picture data, a program, and program identificationinformation sent out from a broadcast station, and operating the programon middleware based on the program identification information to processthe motion picture data, the device selectively executing middlewareapplicable to the program to make the program operable, the devicecomprising:

[0013] middleware storage means that stores a plurality of pieces ofmiddleware that are different from each other;

[0014] selecting means for selecting, based on the programidentification information in the motion picture stream received by themotion picture reproducing apparatus, the middleware applicable to theprogram in the motion picture stream;

[0015] reading means for reading the middleware selected by theselecting means from the middleware storage means; and

[0016] executing means for executing the middleware read by the readingmeans.

[0017] In the above first aspect, the middleware selecting and executingdevice for motion picture reproduction (hereinafter, middlewareselecting and executing device) stores therein a plurality of pieces ofmiddleware. When a motion picture stream is sent from the broadcaststation, the device selects, from the plurality of pieces of middlewarestored therein, middleware applicable to a program contained in themotion picture stream for execution. Therefore, the motion picturereproducing apparatus can receive motion picture streams of variousspecifications such as those containing programs that operate ondifferent pieces of middleware to reproduce motion pictures.

[0018] Here, receiving the motion picture streams of variousspecifications to enable motion pictures reproducible in theabove-described manner can also be achieved by integrating a pluralityof motion picture reproducing apparatuses respectively receiving motionpicture streams of only a single specification, or by adding newresources to the motion picture reproducing apparatus to simultaneouslyexecute the plurality of pieces of middleware. In these schemes,however, as the number of specifications of reproducible motion picturestreams is increased, the price of the apparatus becomes increased inproportion to the number of specifications. For the present middlewareselecting and executing device, on the other hand, resources enough toexecute only a single piece of middleware will do regardless of thenumber of specifications. Therefore, even when the number ofspecifications is increased, the price is little increased.

[0019] According to a second aspect, in the first aspect,

[0020] when the middleware selected by the selecting means is not storedin the middleware storage means, the reading means reads the middlewarefrom an external server via a network.

[0021] In the above second aspect, when not holding the middlewareapplicable to the program contained in the incoming motion picturestream, the middleware selecting and executing device reads themiddleware from the external server via the network for execution. Bythus using the middleware on the network, the number of specificationsof reproducible motion picture streams can be dramatically increased.

[0022] According to a third aspect, in the second aspect,

[0023] the reading means

[0024] additionally stores the middleware read from the external servervia the network in the middleware storage means; and

[0025] when the middleware is again selected by the selecting means,reads the middleware from the middleware storage means.

[0026] In the above third aspect, the middleware selecting and executingdevice holds therein the middleware that has been externally read andexecuted. Then, when the middleware is again required, the device readsthe middleware held therein for execution. Therefore, time required forreading can be reduced and, as a result, the motion picture reproducingapparatus can quickly start motion picture reproduction.

[0027] According to a fourth aspect, in the first aspect,

[0028] the device further includes adding means for additionally storingnew middleware provided by the broadcast station in the middlewarestorage means.

[0029] In the above fourth aspect, when provided with new middleware bythe broadcast station, the middleware selecting and executing deviceadditionally stored therein the middleware. Thus, it is possible throughbroadcasting to increase the number of specifications of motion picturestreams reproducible by the motion picture reproducing apparatus.

[0030] According to a fifth aspect, in the fourth aspect,

[0031] the broadcast station further sends out an operation streamcontaining middleware, a middleware adding program, and programidentification information, and

[0032] the adding means is implemented by the motion picture reproducingapparatus receiving the operation stream and operating, based on theprogram identification information, the middleware adding program onmiddleware applicable to the middleware adding program.

[0033] In the above fifth aspect, the middleware, the program for addingthe middleware (middleware adding program), and the identificationinformation of the program are sent as being contained in a singlestream (operation stream). On receiving the operation stream, themiddleware selecting and executing device selects, based on the programidentification information, the middleware applicable to the middlewareadding program for execution. Then, with the middleware adding programoperating on the middleware being executed, the middleware selecting andexecuting device can additionally store therein new middleware.

[0034] According to a sixth aspect, in the first aspect,

[0035] the program identification information in the motion picturestream contains middleware code indicating to which middleware theprogram in the motion picture stream is applicable, and

[0036] the reading means

[0037] holds a correspondence list containing, for each executablemiddleware, middleware code and a storage location thereof in relationto each other, and

[0038] when reading the middleware selected by the selecting means,extracts the middleware code from the program identification informationin the stream received by the motion picture reproducing apparatus forcomparison with the correspondence list to specify the storage locationof the middleware.

[0039] In the above sixth aspect, the program identification informationsent together with the program contains middleware code indicating towhich middleware the program is applicable. The middleware selecting andexecuting device holds a correspondence list having a correspondencerelation between the code and the storage location of the respectiveexecutable middleware. The middleware selecting and executing deviceextracts the middleware code from the program identification informationfor comparison with the correspondence list, thereby specifying thestorage location of the middleware applicable to the program. Thus, themiddleware selecting and executing device can read the middlewareapplicable to the program for execution.

[0040] According to a seventh aspect, in the sixth aspect,

[0041] the device further includes correspondence-list revising meansfor making revision so as to additionally write middleware code and astorage location of new middleware in the correspondence list held bythe reading means.

[0042] In the above seventh aspect, when new middleware is added, themiddleware selecting and executing device makes revision so as to addthe middleware code and the storage location of the middleware to thecorrespondence list. Thereafter, the motion picture reproducingapparatus refers to the revised correspondence list, thereby specifyingthe storage location of the new middleware. Thus, it is possible toincrease the number of specifications of motion picture streamsexecutable by the motion picture reproducing apparatus.

[0043] According to an eighth aspect, in the seventh aspect,

[0044] the broadcast station further sends out an operation streamcontaining the middleware code and the storage location of the newmiddleware, a correspondence-list revising program, and programidentification information, and

[0045] the correspondence-list revising means is implemented by themotion picture reproducing apparatus receiving the operation stream, andoperating, based on the program identification information, thecorrespondence-list revising program on middleware applicable to thecorrespondence-list revising program.

[0046] In the above eighth aspect, the middleware code and storagelocation of the new middleware, a program for making revision so as toadd the code and the storage location of the middleware to thecorrespondence list (correspondence-list revising program), and theidentification information of the program are sent as being contained ina single stream (operation stream). On receiving the operation stream,the middleware selecting and executing device selects, based on theprogram identification information, the middleware applicable to thecorrespondence-list revising program for execution. Then, with thecorrespondence-list revising program operating on the middleware beingexecuted, the motion picture reproducing apparatus can make revision soas to add the code and the storage location of the new middleware to thecorrespondence list.

[0047] According to a ninth aspect, in the sixth aspect,

[0048] the device further includes adding means for additionally storingnew middleware provided by the broadcast station in the middlewarestorage means; and

[0049] correspondence-list revising means for making, in accordance withthe new middleware additionally stored in the middleware storage means,revision so as to additionally write middleware code and a storagelocation of the new middleware in the correspondence list held by thereading means.

[0050] In the above ninth aspect, when the new middleware is provided bythe broadcast station together with the code and the storage location ofthe middleware, the middleware selecting and executing deviceadditionally stores therein the middleware, and also adds the code andthe storage location of the middleware to the correspondence list. Thus,it is possible through broadcasting to increase the number ofspecifications of motion picture streams reproducible by the motionpicture reproducing apparatus.

[0051] According to a tenth aspect, in the ninth aspect,

[0052] the broadcast station further sends an operation streamcontaining the new middleware, a middleware adding program, themiddleware code and the storage location of the new middleware, acorrespondence-list revising program and program identificationinformation, and

[0053] the adding means and the correspondence-list revising means areimplemented by the motion picture reproducing apparatus receiving theoperation stream and operating, based on the program identificationinformation, the middleware adding program and the correspondence-listrevising program on middleware applicable to the middleware addingprogram and the correspondence-list revising program.

[0054] In the above tenth aspect, new middleware, the program for addingthe middleware (middleware adding program), and the code and the storagelocation of the middleware, the program for making revision so as to addthe code and storage location of the middleware to the correspondencelist (correspondence-list revising program), and the identificationinformation of these programs are sent as being contained in a singlestream (operation stream). On receiving the operation stream, themiddleware selecting and executing device selects, based on the programidentification information, the middleware applicable to the middlewareadding program and the correspondence-list revising program forexecution. Then, with the middleware adding program operating on themiddleware being executed, the middleware selecting and executing devicecan additionally store therein new middleware. Furthermore, with thecorrespondence-list revising program operating on the middleware beingexecuted, it is possible to make revision for adding the code and thestorage location of the new middleware to the correspondence list.

[0055] According to an eleventh aspect, in the first aspect,

[0056] the device further includes priority storage means for storinginformation indicating a priority of each executable middleware, wherein

[0057] when the motion picture stream contains a plurality of programshaving the same function and operating on different pieces of middlewareand any one of the plurality of programs is selected by the motionpicture reproducing apparatus for operation, the reading means refers tothe information in the priority storage means to read middleware havinga highest priority.

[0058] In the above eleventh aspect, a single motion picture stream maycontain a plurality of programs having the same function but differingin applicable middleware (in this case, the motion picture reproducingapparatus is required only to operate any one of these plurality ofprograms). The middleware selecting and executing device holds priorityinformation indicating priorities of the respective middleware and,based on the priority information, reads the middleware having a highestpriority for execution. In response, the motion picture reproducingapparatus operates a program applicable to the middleware on themiddleware having the highest priority being executed. Thus, thebroadcast station side can cause the motion picture reproducingapparatus to execute the program applicable to the specific middlewarewith priority.

[0059] According to a twelfth aspect, in the eleventh aspect,

[0060] when an instruction from the user is inputted to the motionpicture reproducing apparatus, the priority storage means changes thestored priority information.

[0061] In the above twelfth aspect, the middleware selecting andexecuting device changes the priority information in response to aninstruction from the user. That is, the user can freely designate themiddleware to be executed with priority.

[0062] According to a thirteenth aspect, in the eleventh aspect,

[0063] the device further includes priority changing means for changingthe priority information stored in the priority storage means into newpriority information provided by the broadcast station.

[0064] In the above thirteenth aspect, the middleware executing devicechanges the priority according to an instruction sent from the broadcaststation. That is, the middleware to be executed with priority can bedesignated by the broadcast station side.

[0065] According to a fourteenth aspect, in the thirteenth aspect,

[0066] the broadcast station further sends out an operation streamcontaining the new priority information, a priority changing program,and program identification information, and

[0067] the priority changing means is implemented by the motion picturereproducing apparatus receiving the operation stream and operating,based on the program identification information, the priority changingprogram on middleware applicable to the priority changing program.

[0068] In the above fourteenth aspect, new priority information, theprogram for changing the priority information (priority changingprogram), and the identification information of the program are sent asbeing contained in a single stream (operation stream). On receiving theoperation stream, the middleware selecting and executing device selects,based on the program identification information, the middlewareapplicable to the priority changing program for execution. Then, withthe priority changing program operating on the middleware beingexecuted, the middleware selecting and executing device can change thepriority information (to the new priority information).

[0069] According to a fifteenth aspect, in the first aspect,

[0070] when the motion picture stream contains a plurality of programscorresponding to different broadcast services, the motion picturereproducing apparatus selects any one of the broadcast services andoperates a program corresponding to the broadcast service, and

[0071] the device further includes a service switch detecting means fordetecting, with the program that corresponds to the broadcast serviceoperating on middleware applicable to the program, that the programinstructs the motion picture reproducing apparatus to switch to anotherbroadcast service, and requesting the selecting means to selectmiddleware applicable to a program corresponding to the other broadcastservice.

[0072] In the above fifteenth aspect, the motion picture stream maycontain a plurality of programs that correspond to different broadcastservices (in this case, the motion picture reproducing apparatus isrequired only to select any one of the broadcast services, and tooperate a program corresponding to the service). With the program thatcorresponds to the broadcast service operating on the middlewareapplicable to the program, the program instructs the motion picturereproducing apparatus to switch to another broadcast service. Themiddleware selecting and executing device detects this instruction ofswitching to the other broadcast service, and selects middlewareapplicable to the program corresponding to the other broadcast service.

[0073] As such, while the motion picture reproducing apparatus isreproducing motion pictures of a certain broadcast service, when theprogram corresponding to the broadcast service issues an instruction ofswitching to another broadcast service, the middleware selecting andexecuting device detects this instruction, and selects middleware asapplicable to the program corresponding to the other broadcast servicefor execution. With this, the motion picture reproducing apparatus cancause the program corresponding to the other broadcast service tooperate on the middleware applicable to the program. As a result, thebroadcast service is switched, thereby starting reproduction of motionpictures of the other broadcast service.

[0074] According to a sixteenth aspect, in the first aspect,

[0075] when the middleware being executed is terminated, the executingmeans releases resources allocated for the middleware.

[0076] In the above sixteenth aspect, when the middleware being executedis terminated, the resources used by the middleware are released. Thus,the middleware to be executed next can use the same resources.Therefore, only with the amount of resources that may be used by asingle piece of middleware, the middleware selecting and executingdevice can selectively execute a plurality of pieces of middleware.

[0077] A seventeenth aspect is directed to, in a motion picturereproducing apparatus that reproduces motion pictures by receiving amotion picture stream containing motion picture data, a program, andprogram identification information sent out from a broadcast station,and operating the program on middleware based on the programidentification information to process the motion picture data, a methodof selectively executing middleware applicable to the program to makethe program operable, the method including:

[0078] a middleware storing step of storing a plurality of pieces ofmiddleware that are different from each other;

[0079] a selecting step of selecting, based on the programidentification information in the motion picture stream received by themotion picture reproducing apparatus, the middleware applicable to theprogram in the motion picture stream;

[0080] a reading step of reading the middleware selected in theselecting step from the middleware storing step; and

[0081] an executing step of executing the middleware read in the readingstep.

[0082] An eighteenth aspect is directed to a middleware selecting andexecuting program for a motion picture reproducing apparatus, theprogram having a method as in the seventeenth aspect computer-readablywritten therein.

[0083] A nineteenth aspect is directed to a recording medium having amiddleware selecting and executing program for a motion picturereproducing apparatus as in the eighteenth aspect stored therein.

BRIEF DESCRIPTION OF THE DRAWINGS

[0084]FIG. 1 is a block diagram illustrating an example construction ofa broadcast system to which the present invention is applied.

[0085]FIG. 2 is an illustration showing the contents of a motion picturestream sent from broadcast stations 11 and 12 of FIG. 1.

[0086]FIG. 3 is a block diagram illustrating an example construction ofhardware for achieving a motion picture reproducing apparatus 13 havinga middleware selecting and executing function according to the presentinvention.

[0087]FIG. 4 is a block diagram illustrating the entire construction ofthe motion picture reproducing apparatus 13 according to a firstembodiment of the present invention (this diagram is also cited forsecond through sixth embodiments).

[0088]FIG. 5 is a block diagram illustrating an example construction ofa middleware selecting and executing section 35 of FIG. 4 (firstembodiment).

[0089]FIG. 6 is an illustration showing an example of a correspondencelist held by a middleware reading unit 41 of FIG. 5.

[0090]FIG. 7 is a flowchart showing the operation of the motion picturereproducing apparatus 13 according to the first embodiment of thepresent invention.

[0091]FIG. 8 is an illustration showing the contents of an operationstream sent from the broadcast stations 11 and 12 when a storagelocation of middleware is changed.

[0092]FIG. 9 is a block diagram illustrating an example construction ofthe middleware selecting and executing section 35 of FIG. 4 (secondembodiment).

[0093]FIG. 10 is an illustration showing the contents of an operationstream sent from the broadcast stations 11 and 12 when it is desired toprovide the motion picture apparatus 13 with middleware in a thirdembodiment.

[0094]FIG. 11 is a block diagram showing the construction of themiddleware selecting and executing section 35 of FIG. 4 (thirdembodiment).

[0095]FIG. 12 is an illustration showing the contents of a motionpicture stream sent from the broadcast station 11 of FIG. 1 in a fourthembodiment.

[0096]FIG. 13 is a block diagram illustrating the construction of themiddleware selecting and executing section 35 of FIG. 4 (fourthembodiment).

[0097]FIG. 14 is an illustration showing the contents of an operationstream sent from the broadcast stations 11 and 12 when it is desired tochange priority of middleware in a fifth embodiment.

[0098]FIG. 15 is a block diagram illustrating the construction of themiddleware selecting and executing section 35 of FIG. 4 (fifthembodiment).

[0099]FIG. 16 shows (A) a block diagram illustrating the construction ofthe middleware selecting and executing section 35 of FIG. 4 (sixthembodiment), and (B) an illustration showing the contents of a motionpicture stream sent from the broadcast station 11.

BEST MODE FOR CARRYING OUT THE INVENTION

[0100] Hereinafter described are embodiments of the present inventionwith reference to the drawings.

[0101]FIG. 1 is a block diagram illustrating the construction of abroadcast system to which the present invention is applied. In FIG. 1, abroadcast system 10 is constructed by two broadcast stations 11 and 12that send out motion picture streams (for example, MPEG-2 transportstreams), and a motion picture reproducing apparatus 13 that receivesthe motion picture streams sent out from the respective broadcaststations 11 and 12 for motion picture reproduction. The motion picturereproducing apparatus 13 is connected to a network 14, always or asrequired, and can also obtain information through the network 14 fromoutside of the system (for example, an external server 15).

[0102] The two broadcast stations 11 and 12 send out motion picturestreams based on different specifications from each other. That is, thefirst broadcast station 11 sends out motion picture streams based on afirst specification (for example, DVB-MHP specification), that is,motion picture streams containing a program operated on first middleware(for example, JavaVM). The second broadcast station 12, on the otherhand, sends out motion picture streams based on a second specification(for example, BS digital specification), that is, motion picture streamscontaining a program operated on second middleware (for example, BMLbrowser).

[0103] Here, motion picture streams are described. FIG. 2 is anillustration for showing the contents of a motion picture stream sentout from the respective broadcast stations 11 and 12 of FIG. 1. In FIG.2, a motion picture stream 101 contains motion picture data 105, aprogram 103 for processing the motion picture data 105 to generatevideo, program data 104 used by the program 103, and programidentification information 102 for identifying the program 103.

[0104] The program 103 is written in a specific programming language(for example, Java language or BML), operating only on specificmiddleware corresponding to the language (for example, JavaVM or BMLbrowser). The program identification information 102 includesinformation indicating on which middleware the program 103 operates(hereinafter referred to as middleware code) For example, when themotion picture stream 101 is an MPEG-2 transport stream, PSI (ProgramSpecific Information) corresponds to the program identificationinformation 102, and this PSI includes data corresponding to middlewarecode. The program data 104 includes data for displaying characters,still pictures, an others.

[0105] Referring back to FIG. 1, the motion picture reproducing andsending apparatus holds a plurality of pieces of middleware foroperating the programs 103 written in different languages from eachother (for example, Java language and BML), and has a function ofselecting, from these plurality of pieces of middleware, middlewareapplicable to the program 103 in the received motion picture stream 101,and executing the middleware. In other words, depending on whichmiddleware the incoming program 103 operates on, the middleware isswitched among these plurality of pieces of middleware.

[0106] With this middleware selecting and executing function (ormiddleware switching function), the motion picture reproducing apparatus13 can execute the middleware applicable to the program 103 and operatesthe program 103 on the middleware, even if the program 103 contained inthe motion picture stream 101 operates on whichever middleware. With theprogram 103 thus operating, the motion picture reproducing apparatus 13can process the motion picture data 105 to reproduce motion pictures.Also, with the operation of the program 103, the motion picturereproducing apparatus 13 can process the program data 104 to displaycharacters and still pictures.

[0107]FIG. 3 is a block diagram illustrating an construction of hardwarefor achieving the motion picture reproducing apparatus 13 having theabove middleware selecting and executing function. In FIG. 3, the motionpicture reproducing apparatus 13 is achieved by a CPU 20, ROM 21, RAM22, a hard disc 23, a tuner 24, a decoder 25, a display 26, a modem 28,and a keyboard 27. The hard disc 23 stores a plurality of pieces ofmiddleware and a middleware selecting and executing program. Based onthese plurality of pieces of middleware and middleware selecting andexecuting program, the CPU 20 operates while using the RAM 22 as aworking area, thereby enabling the motion picture reproducing apparatus13 to carry out the above middleware selecting and executing processing.

[0108] The middleware selecting and executing program is previouslystored in the ROM 21 when the motion picture reproducing apparatus 13 isshipped. Alternatively, the program may be provided as being stored in aportable recording medium such as CD-ROM, may be provided as beingcontained in the motion picture stream 101 sent out from the broadcaststations 11 and 12, or may be provided through the network 14 from theexternal server 15. The middleware selecting and executing programprovided by either of the above schemes is stored in the hard disc 23(may be stored in the ROM 21 if the ROM 21 is a writable non-volatilememory), and is read when required.

[0109] Each middleware is previously stored in the hard disc 23 when themotion picture reproducing apparatus 13 is shipped. Alternatively, themiddleware may be previously stored in the ROM 21 together with themiddleware selecting and executing program when the motion picturereproducing apparatus 13 is shipped. Still alternatively, the middlewaremay be provided as being stored in a portable recording medium such asCD-ROM, may be provided as being contained in the motion picture stream101 sent out from the broadcast stations 11 and 12, or may be providedthrough the network 14 from the external server 15. The middlewareprovided by either of the above schemes is stored in the hard disc 23(or ROM 21), and is read when required.

[0110] Also, when not holding the middleware applicable to the program103 contained in the received motion picture stream 101, the motionpicture reproducing apparatus 13 can also obtain the middlewareapplicable to the program 103 from the external server 15 (this externalserver 15 stores various pieces of middleware) through the modem 28 viathe network 14. The middleware obtained via the network 14 is stored inthe hard disc 23 (or the ROM 21) in the motion picture reproducingapparatus 13.

[0111] Note that the hardware construction illustrated in FIG. 3 is atypical example, and does not limit the components to those illustratedtherein. For example, the ROM 21 and the hard disc 23 are used in FIG. 3as media that store the middleware or various programs, but otherstorage media such as a memory card and an optical disc can be used forimplementation. Also, the modem 28 is used as a device that connects themotion picture reproducing apparatus 13 and the network 14, but anothernetwork connecting device such as a terminal adaptor can be used forimplementation.

[0112]FIG. 1 illustrates, as a simplest example, the broadcast system 10in which the two broadcast stations 11 and 12 send out motion picturestreams based on different specifications from each other. The system towhich the present invention is applicable is, however, not limited tothe above system. Even when used for such a broadcast system as that inwhich three or more broadcast stations send out motion picture streamsbased on different specifications from one another, the motion picturereproducing apparatus 13 similarly carries out the middleware selectingand executing processing, except that the number of pieces of middlewareto be held is increased.

[0113] Alternatively, such a broadcast system may be possible as that inwhich a single broadcast station sends out the motion picture stream 101based on a plurality of specifications different from each other. Forexample, a single broadcast station may send out two types of motionpicture streams, that is, a motion picture stream of the DVB-MHPspecification and a motion picture stream of the BS digitalspecification. Also when used for such broadcast system, the motionpicture reproducing apparatus 13 similarly carries out the middlewareselecting and executing processing.

[0114] Hereinafter described in detail are several embodiments of themotion picture reproducing apparatus 13 having the middleware selectingand executing function as described above.

First Embodiment

[0115]FIG. 4 is a block diagram illustrating the entire construction ofthe motion picture reproducing apparatus 13 according to a firstembodiment of the present invention. In FIG. 4, the present motionpicture reproducing apparatus 13 includes a receiving section 30, adecoding section 31, a processing section 32, a display section 33, andan input section 34. The receiving section 30 receives the motionpicture stream 101 (refer to FIG. 2) sent in electric wave form from thebroadcast stations 11 and 12. The motion picture stream 101 is, forexample, an MPEG-2 transport stream. The decoding section 31 decodes themotion picture stream 101 received by the receiving section 30. Theprocessing section 32 processes the stream 101 decoded by the decodingsection 31 to reproduce motion pictures. The display section 33 displaysthe motion pictures reproduced by the processing section 32. The inputsection 34 accepts an operation signal from a user, and transfers it tothe processing section 32.

[0116] The processing section 32 includes a station selecting section 36and a middleware selecting and executing section 35. The stationselecting section 36 selects a station in response to the operationsignal from the input section 34. The middleware selecting and executingsection 35 has a plurality of pieces of middleware, and when the motionpicture stream 101 sent out from the broadcast station selected by thestation selecting section 36 is inputted to the processing section 32,selects and executes middleware applicable to the program 103 containedin the motion picture stream 101.

[0117]FIG. 5 is a block diagram illustrating an example of constructionof the middleware selecting and executing section 35 In FIG. 5, themiddleware selecting and executing section 35 includes an applicablemiddleware selecting unit 40, a middleware reading unit 41, a middlewareexecuting unit 42, and a middleware storage unit 43. The middlewarestorage unit 43 stores the plurality of pieces of middleware (middleware1, middleware 2, . . . , middleware n). For example, a JavaVM and a BMLbrowser are stored.

[0118] When the motion picture stream 101 is inputted to the processingsection 32, the applicable middleware selecting unit 40 selects, basedon the program identification information 102 contained in the motionpicture stream 101, middleware applicable to the program contained inthe motion picture stream 101, and reports the selection result to themiddleware reading unit. Specifically, extracted first from the motionpicture stream 101 is the program identification information 102, fromwhich middleware code is then extracted. The code is reported to themiddleware reading unit 41.

[0119] The middleware reading unit 41 reads, from the middleware storageunit 43, the middleware selected by the applicable middleware selectingunit 40. Specifically, the middleware reading unit 41 holds, forexample, a correspondence list as illustrated in FIG. 6. In FIG. 6, acorrespondence list 201 contains, for every middleware executable by thepresent motion picture reproducing apparatus 13, its middleware code(identifier) and storage location (address or URL) in relation to eachother.

[0120] When receiving the report of the middleware code from theapplicable middleware selecting unit 40, the middleware reading unit 41refers to the correspondence list as illustrated in FIG. 6 to specifythe middleware code and its corresponding storage location, and readsthe middleware from that location.

[0121] For example, when the middleware code of the program 103contained in the motion picture stream 101 inputted to the processingsection 32 is “A” (that is, when the program 103 operates on middleware“A”), the middleware reading unit 41 refers to FIG. 5 to read themiddleware from the storage location “MW_01” that corresponds to “A”.

[0122] The correspondence list may contain, not only the informationabout middleware held by the motion picture reproducing apparatus 13itself (that is, stored by the middleware storage unit 43), but alsoinformation about middleware stored in the external server 15(middleware code and URL of the external server 15). In this case, themiddleware reading unit 41 can read the middleware from the externalserver 15 via the network 14. The middleware read from outside is storedin the middleware storage unit 43. Thus, when the same middleware isrequired again, the middleware reading unit 41 can read it from themiddleware storage unit 43, thereby reducing time required for readingthe middleware and enabling quick start of reproduction.

[0123] The middleware executing unit 42 executes the middleware read bythe middleware reading unit 41. Furthermore, when execution of themiddleware is terminated, the middleware executing unit 42 releases theresources that have been used by the middleware (for example, thestorage area in the RAM 22, the tuner 24, the decoder 25, and others).This is to make the resources available for the middleware to beexecuted next.

[0124] With reference to a flowchart of FIG. 7, described below is theoperation of the above-constructed motion picture reproducing apparatus13.

[0125]FIG. 7 is a flowchart illustrating the operation of the motionpicture reproducing apparatus 13 according to the first embodiment ofthe present invention. In FIG. 7, when the receiving section 30 receivesthe motion picture stream 101 (step S401), the decoding section 31decodes the motion picture stream 101 (step S402). Then, the decodedmotion picture stream 101 is inputted to the middleware selecting andexecuting section 35 in the processing section 32, and the middlewareselecting and executing section 35 carries out the processing asfollows.

[0126] First, the applicable middleware selecting unit 40 extracts theprogram identification information 102 from the decoded motion picturestream 101 (step S403), and selects the middleware applicable to theprogram 103 contained in the motion picture stream 101 (hereinafterreferred to as applicable middleware) (step S404).

[0127] Next, the middleware reading unit 41 determines whether theapplicable middleware selected in step S404 has already been read (stepS405). As a result of determination, if it has been read, the middlewarereading unit 41 reports to the middleware executing unit 42 as such. Ifnot yet been read, on the other hand, the middleware reading unit 41refers to the correspondence list 201 to read the applicable middlewareselected in step S404 from the middleware storage unit 43 (step S406).When reading of the applicable middleware is completed, step S408 iscarried out.

[0128] When reported by the middleware reading unit 41 that theapplicable middleware has been read, the middleware executing unit 42determines whether the applicable middleware is currently being executed(step S407). Then, if the decision result is Yes, that is, if theapplicable middleware is being executed, step S411 is carried out. Ifthe decision result is No, that is, if the applicable middleware is notbeing executed, step S408 is carried out.

[0129] The above step S406 or S407 is followed by step S408, in which itis determined whether another middleware is currently being executed.Then, if another middleware is being executed, the middleware executingunit 42 terminates the middleware, and releases the resources that havebeen used by the middleware (step S409).

[0130] Next, the middleware executing unit 42 starts executing theapplicable middleware read in step S406 (step S410). Then, step S411 iscarried out. Described above is the processing of the middlewareselecting and executing section 35.

[0131] The above step S407 or S410 is followed by step S411, in whichthe program 103 operates on the applicable middleware being executed,and then the operation results are displayed on the display section 33.Specifically, with the operation of the program 103, motion pictures arereproduced from the motion picture data 105, and the reproduced motionpictures are displayed on the display section 33. Also, with theoperation of the program 103, the program data 104 is processed, and theprocessing results, that is, characters, still pictures, and others, aredisplayed on the display section 33. Described above is the operation ofthe present motion picture reproducing apparatus 13.

[0132] In the above, the motion picture stream 101 contains the motionpicture data 105 and the program data 104, and therefore motionpictures, characters, still pictures, and others are displayed on thedisplay section 33. It is possible, however, to display other variousimages. For example, if the motion picture stream 101 contains game dataand graphic data, game screens and graphic screens are displayed on thedisplay section 33.

[0133] Note that whether the applicable middleware has already been readcan be determined in step S405 in the following manner. That is, if themiddleware reading unit 41 has ever read the middleware and the memoryarea storing the read middleware has not been released, it is determinedthat it has already been read. On the other hand, if the middleware hasnever been read before, or has been read but the area storing themiddleware has been released, it is determined that it has not beenread.

[0134] Also, as to determination of whether the middleware is beingexecuted in steps S407 and S408, if the middleware executing unit 42 hasever executed the middleware and has never terminated it, it isdetermined that it is being executed.

[0135] Furthermore, although the present motion picture reproducingapparatus 13 includes the decoding section 31, it may not include thedecoding section 31 when the incoming motion picture stream 101 is theone not required to be decoded.

[0136] Still further, the MPEG-2 transport stream is taken as a typicalexample of the motion picture stream 101. However, any motion picturestream based on another specification can be used for implementation aslong as the motion picture stream 101 contains the programidentification information 102. However, if the program identificationinformation 102 does not contain information indicating on whichmiddleware the program 103 operates (middleware code in the presentembodiment), such information has to be newly added.

[0137] Still further, it is assumed herein that the operation stream 101is transmitted in electric wave from the broadcast stations 11 and 12 tothe motion picture reproducing apparatus 13. However, the stream is notnecessarily in electric wave form for implementation. For example, thebroadcast stations 11 and 12 and the motion picture reproducingapparatus 13 are connected to each other with an optical fiber fortransmitting the stream in optical wave form.

[0138] Still further, as the types of middleware, the JavaVM, the BMLbrowser, and others have been mentioned. However, any middleware can beused for implementation as long as the middleware is of type executableon the motion picture reproducing apparatus 13.

[0139] Still further, the program 103 is a program created with a Javalanguage or BML. However, any program can be used for implementation aslong as the middleware that corresponds to the program 103 is of typeexecutable on the motion picture reproducing apparatus 13.

[0140] Still further, the program data 104 may not be required forimplementation if not required by the program 103.

[0141] Still further, the middleware reading unit 41 holds thecorrespondence list 201 and, by referring thereto, reads the middleware.However, the correspondence list 201 may not be required forimplementation as long as information indicating the storage location ofthe middleware selected by the applicable middleware selecting unit 40is held.

[0142] Still further, the middleware storage unit 43 is incorporated inthe motion picture reproducing apparatus 13 (refer to FIG. 4), but maybe located outside of the motion picture reproducing apparatus 13 and beconnected to the motion picture reproducing apparatus 13 forimplementation. At this time, the form of connection is not limited tothe one directly to the motion picture reproducing apparatus 13, but maybe the one via the network 14 for implementation.

[0143] Still further, if another middleware is being executed in stepsS408 and S409, the middleware executing unit 42 terminates themiddleware, and releases the resources that have been used by themiddleware. If the motion picture reproducing apparatus 13 hassufficient resources, however, the processes in steps S408 and S409 canbe omitted for implementation.

[0144] Still further, the middleware reading unit 41 reads themiddleware selected by the appropriate middleware selecting unit 40 fromthe middleware storage unit 43. However, if reading operation is notrequired, for example, if the middleware storage unit 43 is implementedwith the ROM 21, the reading process may not be carried out, and simplyreporting the storage location of the middleware to the middlewareexecuting unit 42 may be enough for implementation.

[0145] In the first embodiment, the motion picture reproducing apparatusthat holds a plurality of pieces of middleware and have the middlewareselecting and executing function for selecting and executing themiddleware applicable to the program 103 contained in the motion picturestream 101 has been described. In second though sixth embodiments, amotion picture reproducing apparatus having a new function added to thismiddleware selecting and executing function is described.

Second Embodiment

[0146] A second embodiment is different from the first embodiment onlyin that the broadcast stations 11 and 12 may send a stream containing acorrespondence-list revising program and that the motion picturereproducing apparatus 13 has a function of revising the correspondencelist with the operation of the program.

[0147] The motion picture reproducing apparatus 13 according to thesecond embodiment of the present invention is similar in the entireconstruction to that according to the first embodiment. Also in thepresent embodiment, the block diagram of FIG. 4 is used as a diagramillustrating the entire construction of the motion picture reproducingapparatus 13.

[0148]FIG. 8 is an illustration showing the contents of a stream sentfrom the broadcast stations 11 and 12 when the storage location of themiddleware is changed or when new middleware is added (this is called“operation stream”, as distinguished from the motion picture stream),and FIG. 9 is a block diagram illustrating the construction of themiddleware selecting and executing section 35 of FIG. 4.

[0149] In FIG. 8, an operation stream 301 contains programidentification information 302, a correspondence-list revising program303, and program data 304. Note that, when the operation stream 301 isan MPEG-2 transport stream, dummy motion picture data is added thereto.The program data 304 is information indicating code and a storagelocation of new middleware.

[0150] The program identification information 302 contains, in additionto information indicating on which middleware the correspondence-listrevising program 303 operates on (for example, middleware code),information indicating that the program 303 is for revising thecorrespondence list (for example, an identifier such as “0×10”). Thecorrespondence-list revising program 303 is a program for revising thecorrespondence list held by the middleware reading unit in accordancewith transfer or addition of middleware.

[0151] In FIG. 9, the middleware selecting and executing section 35includes the applicable middleware selecting unit 40, the middlewarereading unit 41, the middleware executing unit 42, the middlewarestorage unit 43, and a correspondence-list revising unit 50. Themiddleware storage unit 43 stores a plurality of pieces of middleware(middleware 1, middleware 2, . . . , middleware n).

[0152] Of the components illustrated in FIG. 9, those provided with thesame reference numerals in FIG. 5 are the same as those in the firstembodiment. That is, the middleware selecting and executing section 35of FIG. 9 is the one constructed by adding the correspondence-listrevising unit 50 for revising the correspondence list (refer to FIG. 6)held in the middleware reading unit 41 to the middleware selecting andexecuting section 35 of FIG. 5. This correspondence-list revising unit50 is implemented by a correspondence-list revising program 303operating on the middleware being executed while using the program data304.

[0153] Hereinafter described is the operation of the above-constructedmotion picture reproducing apparatus 13.

[0154] The operation of the present motion picture reproducing apparatus13 from receiving the operation stream 301 as illustrated in FIG. 8 toexecuting the middleware applicable to the correspondence-list revisingprogram 303 is similar to that in the first embodiment (refer to FIG.7), and is not described herein. Thereafter, on the middleware beingexecuted, the correspondence-list revising program 303 is activated.Then, with the correspondence-list revising program 303 operating whileusing the program data 304, the correspondence-list revising unit 50 isimplemented in the middleware selecting and executing section 35, asillustrated in FIG. 9.

[0155] Then, the correspondence-list revising unit 50 revises thecorrespondence list held by the middleware reading unit so as to reflecttransfer or addition of middleware. For example, when middleware in theexternal server 15 is transferred to another external server, the codeof the middleware and a URL of the external server of destination aresent in pair. With reference to those, the correspondence-list revisingunit 50 can make a revision. Furthermore, when new middleware is addedto the external server 15, the code of the middleware and a URL of theexternal server 15 are sent in pair. With reference to those, it ispossible to make a revision.

[0156] Alternatively, new middleware may be provided as being stored ina recording medium such as CD-ROM, and may be read by the motion picturereproducing apparatus 13 from the recording medium. In such case, thecode of the middleware and information for identifying the recordingmedium are sent in pair. With reference to those, thecorrespondence-list revising unit 50 can makes a revision.

[0157] Note that, as an example of the information indicating that theprogram 303 is to revise the correspondence list, the identifier “0×10”has been mentioned. The information is not limited to such type ofnumerical values, but other information can be used for implementationas long as being capable of identifying that the program 303 is torevise the correspondence list. Also, when the operation stream 301 ofFIG. 8 is an MPEG-2 transport stream, dummy motion picture data isfurther contained. However, such data may not be dummy forimplementation. Furthermore, when the middleware is stored in theexternal server 15, the URL of the external server 15 is taken as oneexample of the information indicating the storage location of themiddleware. However, other information may be used for implementation aslong as being in data format usable by the middleware reading unit.

Third Embodiment

[0158] A third embodiment is different from the first embodiment only inthat the broadcast stations 11 and 12 may send a stream containing amiddleware adding program and a correspondence-list revising program andthat, with the operation of those programs, the motion picturereproducing apparatus 13 has a function of adding new middleware andrevising the correspondence list in accordance with addition of themiddleware.

[0159] The motion picture reproducing apparatus 13 according to thethird embodiment of the present invention is similar in the entireconstruction to that according to the first embodiment. Also in thepresent embodiment, the block diagram of FIG. 4 is used as a diagramillustrating the entire construction of the motion picture reproducingapparatus 13.

[0160]FIG. 10 is an illustration showing the contents of an operationstream sent from the broadcast stations 11 and 12 when new middleware isadded to the motion picture reproducing apparatus 13, and FIG. 11 is ablock diagram illustrating the construction of the middleware selectingand executing section 35 of FIG. 4.

[0161] In FIG. 10, an operation stream 401 contains programidentification information 402, a middleware adding program 403, acorrespondence-list revising program 404, and program data 405. Notethat when the operation stream 401 is an MPEG-2 transport stream, dummymotion picture data is added thereto. The program data 405 containsmiddleware to be added, and information indicating code and a storagelocation of the middleware.

[0162] The program identification information 402 contains, in additionto information indicating on which middleware the two programs 403 and404 contained in the operation stream 401 operate, and informationindicating that these two programs are to change the middleware and torevise the correspondence list (for example, identifiers such as “0×10”and “0×10”). The middleware adding program 403 is a program for addingand storing new middleware to and in the middleware storage unit 43. Thecorrespondence-list revising program 404 is a program for revising thecorrespondence list held by the middleware reading unit in accordancewith addition of middleware.

[0163] In FIG. 11, the middleware selecting and executing section 35includes the applicable middleware selecting unit 40, the middlewarereading unit 41, the middleware executing unit 42, the middlewarestorage unit 43, a middleware adding unit 51, and thecorrespondence-list revising unit 50. The middleware storage unit 43stores a plurality of pieces of middleware (middleware 1, middleware 2,. . . , middleware n).

[0164] Of the components illustrated in FIG. 11, those provided with thesame reference numerals in FIG. 5 are the same as those in the firstembodiment. That is, the middleware selecting and executing section 35of FIG. 9 is the one constructed by further providing the middlewareselecting and executing section 35 of FIG. 5 with the middleware addingunit 51 for adding new middleware to the middleware storage unit 43 andthe correspondence-list revising unit 50 for revising, in accordancewith addition of middleware, the correspondence list held in themiddleware reading unit 41. These middleware adding unit 51 and thecorrespondence-list revising unit 50 are implemented by the middlewareadding program 403 and the correspondence-list revising program 404operating on the applicable middleware being executed while using theprogram data 405.

[0165] Hereinafter described is the operation of the above-constructedmotion picture reproducing apparatus 13.

[0166] The operation of the present motion picture reproducing apparatus13 from receiving the operation stream 401 as illustrated in FIG. 10 toexecuting the middleware applicable to the middleware changing program403 and the correspondence-list revising program 404 is similar to thatin the first embodiment (refer to FIG. 7), and is not described herein.Thereafter, on the middleware being executed, the middleware changingprogram 403 and the correspondence-list revising program 404 areactivated. Then, with the middleware changing program 403 and thecorrespondence-list revising program 404 operating while using theprogram data 405, the middleware adding unit 51 and thecorrespondence-list revising unit 50 are implemented in the middlewareselecting and executing section 35, as illustrated in FIG. 11.

[0167] The above-implemented middleware adding unit 51 carries out theprocess of adding new middleware in the middleware storage unit 43. Thecorrespondence-list revising unit 50, on the other hand, carries out theprocess of revising the correspondence list held by the middlewarereading unit for reflecting the addition of the middleware. That is,when new middleware is added, a middleware body, and code and a storagelocation thereof are sent as the program data 405. Therefore, themiddleware adding unit 51 can add and store the middleware to and in themiddleware storage unit 43. Also, the correspondence-list revising unit50 can add the code and storage location of the new middleware to thecorrespondence list.

[0168] Note that, as one example of the information indicating that thetwo programs 403 and 404 are to add middleware and revise thecorrespondence list, the identifiers “0×10” and “0×10” have beenmentioned. The information is not limited to such type of numericalvalues, but other information can be used for implementation as long asbeing capable of identifying that the programs are to adding middlewareand revise the correspondence list.

[0169] Also, the middleware to be newly added is sent to the motionpicture reproducing apparatus 13 as being contained in the operationstream 401. However, the middleware may be sent not as being containedin the operation stream 401, but may be sent to the motion picturereproducing apparatus 13 via the network 14 for implementation.

[0170] Furthermore, the process for adding new middleware has beendescribed. However, it can be implemented to delete the existingmiddleware, or replace the existing middleware with new middleware. In acase of deleting the middleware, the operation stream 401 contains,instead of the middleware adding program 403, a middleware deletingprogram and the correspondence-list revising program. The middlewaredeleting program is a program for deleting the middleware from themiddleware storage unit 43. The correspondence-list revising program isa program for revising the correspondence list in accordance with thedeletion of middleware. Also, the program data 405 contains code and astorage location of the middleware to be deleted.

[0171] In a case of replacing the existing middleware with newmiddleware, the operation stream 401 contains, instead of the middlewareadding program 403, a middleware replacing program and thecorrespondence-list revising program. The middleware replacing programis a program for replacing the middleware in the middleware storage unit43 with new middleware. The correspondence-list revising program is aprogram for revising the correspondence list in accordance with thereplacement of middleware. Also, the program data 405 contains code anda storage location of the existing middleware to be replaced, and codeand a storage location of the new middleware.

Fourth Embodiment

[0172] A fourth embodiment is different from the first embodiment onlyin that a single broadcast station (hereinafter, the broadcast station11) may send a motion picture stream containing a plurality of programsbeing functionally the same but operating on different pieces ofmiddleware and that the motion picture reproducing apparatus 13 furtherhas a function of operating a program corresponding to middleware havinga highest priority of these plurality of programs. That is, eachmiddleware is given a priority, and the motion picture reproducingapparatus 13 executes the middleware given a highest priority to operatea program applicable to the middleware.

[0173] For example, when the motion picture reproducing apparatus 13holds a JavaVM and a BML browser as executable middleware, the priorityis set as “priority on JavaVM”. Then, when the broadcast station 11sends a motion picture stream containing a motion picture reproducingprogram operable on the JavaVM and a motion picture reproducing programoperated on the BML browser, the motion picture reproducing apparatus 13executes the JavaVM according to “priority on JavaVM”. Then, on theJavaVM being executed, the motion picture reproducing program of typeapplicable to the JavaVM operates.

[0174] The motion picture reproducing apparatus 13 according to thefourth embodiment of the present invention is similar in the entireconstruction to that according to the first embodiment. Also in thepresent embodiment, the block diagram of FIG. 4 is used as a diagramillustrating the entire construction of the motion picture reproducingapparatus 13.

[0175]FIG. 12 is an illustration showing the contents of a motionpicture stream sent from the broadcast station 11, and FIG. 13 is ablock diagram illustrating the construction of the middleware selectingand executing section 35 of FIG. 4.

[0176] In FIG. 12, a motion picture stream 501 contains programidentification information 502, a program A503, a program B504, programdata 505, and motion picture data 506. In this case, the program A503and the program B504 are both programs for processing the motion picturedata 506 to reproduce motion pictures. However, they are different fromeach other in applicable middleware. For example, the program A503operates on the JavaVM, while the program A504 operates on the BMLbrowser.

[0177] The program identification information 502 contains informationindicating on which middleware the program A503 and the program B504respectively operate. The program data 505 contains data for displaying,for example, characters, still pictures, and others.

[0178] In FIG. 13, the middleware selecting and executing section 35includes the applicable middleware selecting unit 40, the middlewarereading unit 41, the middleware executing unit 42, the middlewarestorage unit 43, and a priority storage unit 60. The middleware storageunit 43 stores a plurality of pieces of middleware (middleware 1,middleware 2, . . . , middleware n). The priority storage unit 60 storesinformation indicating priorities set to the respective middleware inthe middleware storage unit 43.

[0179] Of the components illustrated in FIG. 13, those provided with thesame reference numerals in FIG. 5 are the same as those in the firstembodiment. That is, the middleware selecting and executing section 35of FIG. 13 is the one constructed by further providing the middlewareselecting and executing section 35 of FIG. 5 with the priority storageunit 60 that stores priority information as to the middleware in themiddleware storage unit 43.

[0180] Hereinafter described is the operation of the above-constructedmotion picture reproducing apparatus 13.

[0181] In the present motion picture reproducing apparatus 13, in theflowchart of FIG. 7, only added between steps S404 and S405 is step S404a, which will be described later.

[0182] In step S404, the applicable middleware selecting unit 40extracts the program identification information 502 from the decodedmotion picture stream 501. This program identification information 502contains information about on which middleware the program A503 andprogram B504 contained in the motion picture stream 501 received in stepS401 by the receiving section 30 respectively operate. The middlewareapplicable to the program A503 and the middleware applicable to theprogram B504 are selected.

[0183] This step S404 is followed by S405 a, in which the applicablemiddleware selecting unit 40 refers to the contents of the prioritystorage unit 60 to further select the middleware having a higherpriority of the two pieces of middleware selected in step S404. Then,executed in step S406 is applicable middleware having the highestpriority, which is narrowed down through the two-step selection in stepsS405 and S405 a.

[0184] Then, in step S411, the program applicable to the middlewareoperates on the middleware being executed.

[0185] Note that, although the priorities of the respective middlewarein the priority storage unit 60 are predetermined fixed values, thepriorities may be changed for implementation, by the user through theinput section 34.

[0186] Also, the priority information of middleware is stored in thepriority storage unit 60 and middleware selection is automatically madebased on the priority information. However, it is possible forimplementation that the user determines the priority of middleware andinputs the result.

[0187] Furthermore, the motion picture stream 501 contains two programs503 and 504 having the same function but different from each other inapplicable middleware. However, three or more programs may be stored forimplementation.

Fifth Embodiment

[0188] A fifth embodiment is different from the fourth embodiment onlyin that the broadcast stations 11 and 12 may send a motion picturestream containing a priority changing program and that the motionpicture reproducing apparatus 13 further has a function of changingpriority of middleware with the operation of the program. The motionpicture reproducing apparatus 13 according to the fifth embodiment ofthe present invention is similar in the entire construction to thataccording to the fourth (first) embodiment. Also in the presentembodiment, the block diagram of FIG. 4 is used as a diagramillustrating the entire construction of the motion picture reproducingapparatus 13.

[0189]FIG. 14 is an illustration showing the contents of an operationstream sent from the broadcast stations 11 and 12 when it is desired tochange the priority of middleware, and FIG. 15 is a block diagramillustrating the construction of the middleware selecting and executingsection 35 of FIG. 4.

[0190] In FIG. 14, an operation stream 601 contains programidentification information 602, a priority changing program 603, andprogram data 604. Note that, when the operation stream 501 is an MPEG-2transport stream, dummy motion picture data is further added thereto.The program data 604 contains new priority information.

[0191] The program identification information 602 contains, in additionof the information indicating on which middleware the priority changingprogram 603 operates (for example, middleware code), informationindicating that the program 603 is to change the priority (for example,an identifier such as “0×10”). The priority changing program 603 is aprogram for changing the existing priority information stored in thepriority storage unit 60 into new priority information.

[0192] In FIG. 15, the middleware selecting and executing section 35includes the applicable middleware selecting unit 40, the middlewarereading unit 41, the middleware executing unit 42, the middlewarestorage unit 43, the priority storage unit 60, and a priority changingunit 61. The middleware storage unit 43 stores a plurality of pieces ofmiddleware (middleware 1, middleware 2, . . . , middleware n).

[0193] Of the components illustrated in FIG. 15, those provided with thesame reference numerals in FIG. 12 (5) are the same as those in thefourth (first) embodiment. That is, the middleware selecting andexecuting section 35 of FIG. 15 is the one constructed by furtherproviding the middleware selecting and executing section 35 of FIG. 12with the priority changing unit 61 that changes the priority informationstored in the priority storage unit 60. This priority changing unit 61is implemented by the priority changing program 603 operating on themiddleware being executed while using the program data 604.

[0194] Hereinafter described is the operation of the above-constructedmotion picture reproducing apparatus 13.

[0195] The operation of the present motion picture reproducing apparatus13 from receiving the operation stream 601 as illustrated in FIG. 14 toexecuting the middleware applicable to the priority changing program 603is similar to that in the fourth (first) embodiment (refer to FIG. 7),and is not described herein. Thereafter, on the middleware beingexecuted, the priority changing program 603 is activated. Then, with thepriority changing program 603 operating while using the program data604, the priority changing unit 61 is implemented in the middlewareselecting and executing section 35, as illustrated in FIG. 15. Then, thepriority changing unit 61 changes the priority information stored in thepriority storage unit 60 into new priority sent from the broadcaststations 11 and 12.

[0196] For example, in a case where the priority is set as “priority onJavaVM” in the motion picture reproducing apparatus 13, when theoperation stream 60 containing the priority changing program 603 and newpriority information “priority on BML browser” is coming from thebroadcast stations 11 and 12, the motion picture reproducing apparatus13 first executes the JavaVM according to “priority on JavaVM”. Then, onthe JavaVM being executed, the priority changing program 603 operates.As a result, in the motion picture reproducing apparatus 13, thepriority is changed from “priority on JavaVM” to “priority on BMLbrowser”. Thereafter, in the motion picture reproducing apparatus 13,when the received motion picture stream contains two type of programs,the one applicable to the JavaVM and the other applicable to the BMLbrowser, the BML browser is activated with a higher priority, and theprogram of type applicable to the BML browser operates on the BMLbrowser.

[0197] Note that, as one example of the information indicating that theprogram 603 is to change the priority, the identifier “0×10” has beenmentioned. The information is not limited to such type of numericalvalues, but other information can be used for implementation as long asbeing capable of identifying that the program 603 is to change thepriority. Also, when the operation stream 601 of FIG. 14 is an MPEG-2transport stream, dummy motion picture data is further contained.However, the data may not necessarily be dummy for implementation.

Sixth Embodiment

[0198] A sixth embodiment is different from the first embodiment in thefollowing (a) and (b): (a) A single broadcast station (hereinafter, thebroadcast station 11) may provide a plurality of services different fromeach other (for example, first and second services), and a motionpicture stream containing a plurality of programs corresponding to theseplurality of services may be sent from the broadcast station 11. Themotion picture reproducing apparatus 13 selects a service to be received(either one of a first broadcast service and a second broadcastservice), and executes the program corresponding to the broadcast.

[0199] Even for the motion picture stream sent out from the singlebroadcast station 11, the plurality of programs contained therein do notnecessarily operate on the same middleware. Therefore, once selecting abroadcast service desired to be received, the motion picture reproducingapparatus 13 selects middleware for operating the program correspondingto that broadcast service for execution. Then, with the programoperating on the middleware being executed, the motion picturereproducing apparatus 13 can receive the selected broadcast service.

[0200] For example, assume that a program for the first broadcast and aprogram for the second broadcast are contained in a motion picturestream, the former program of type applicable to a JavaVM and the latterof type applicable to a BML browser. At this time, when the firstbroadcast is selected, the JavaVM is executed, and the program for thefirst broadcast operates on the JavaVM being executed.

[0201] (b) The operating program may give an instruction for switchingthe broadcast service as mentioned above. For example, the program forthe first broadcast that is operating on the JavaVM gives an instructionfor switching from the first broadcast to the second broadcast. In thiscase, in the motion picture reproducing apparatus 13, the BML browser isactivated and, on the BML browser, the program for the second broadcaststarts operating. On the other hand, the JavaVM is terminated, and theresources used by the JavaVM are released.

[0202] The motion picture reproducing apparatus 13 according to thesixth embodiment of the present invention is similar in the entireconstruction to that according to the first embodiment. Also in thepresent embodiment, the block diagram of FIG. 4 is used as a diagramillustrating the entire construction of the motion picture reproducingapparatus 13.

[0203]FIG. 16 (A) is a block diagram illustrating the construction ofthe middleware selecting and executing section 35 of FIG. 4, and FIG. 16(B) is an illustration showing the contents of a motion picture streamsent from the broadcast station 11.

[0204] In FIG. 16 (B), a motion picture stream 701 contains programidentification information 702, a program for the first broadcast 703, aprogram for the second broadcast 704, program data for the firstbroadcast 705, program data for the second broadcast 706, motion picturedata for the first broadcast 707, and motion picture data for the secondbroadcast 708.

[0205] The program for the first broadcast 703 is a program forprocessing the motion picture data for the first broadcast 707 toreproduce motion pictures for the first broadcast. The program for thesecond broadcast 704 is a program for processing the motion picture datafor the second broadcast 708 to reproduce motion pictures for the secondbroadcast. The program for the first broadcast 703 and the program forthe second broadcast 704 are different from each other in applicablemiddleware. For example, the program for the first broadcast 703operates on the JavaVM, while the program for the second broadcast 704operates on the BML browser.

[0206] Also, the program for the first broadcast 703 uses the programdata for the first broadcast 705 to make characters and still picturesdisplayed. Similarly, the program for the second broadcast 704 uses theprogram data for the second broadcast 706 to make characters, stillpictures, and others displayed.

[0207] Furthermore, the program for the first broadcast 703 also has afunction of switching the first broadcast to the second broadcast togive an instruction for starting reproduction of motion pictures of thesecond broadcast.

[0208] The program identification information 702 contains informationindicating to which broadcast service the respective programs 703 and704 correspond, and information indicating on which middleware theyoperate. Each of the program data 705 and 706 contains data fordisplaying characters, still pictures, and others, for example.

[0209] In FIG. 16 (B), the middleware selecting and executing section 35includes the applicable middleware selecting unit 40, the middlewarereading unit 41, the middleware executing unit 42, the middlewarestorage unit 43, and a broadcast service switch detecting unit 70. Themiddleware storage unit 43 stores a plurality of pieces of middleware(middleware 1, middleware 2, . . . , middleware n).

[0210] Of the components illustrated in FIG. 16 (A), those provided withthe same reference numerals in FIG. 5 are the same as those in the firstembodiment. That is, the middleware selecting and executing section 35of FIG. 16 (A) is the one constructed by further providing themiddleware selecting and executing section 35 of FIG. 5 with thebroadcast service switch detecting unit 70. The broadcast service switchdetecting unit 70 detects that the program for the first broadcast 703that is operating on the applicable middleware instructs the motionpicture reproducing apparatus 13 to switch the first broadcast serviceto the second broadcast service, and requests the applicable middlewareselecting unit 40 to select the middleware applicable to the program forthe second broadcast 704.

[0211] Hereinafter described is the operation of the above-constructedmotion picture reproducing apparatus 13.

[0212] The operation of the present motion picture reproducing apparatus13 from receiving the motion picture stream 701 as illustrated in FIG.16 (A) to executing the middleware applicable to the program for thefirst broadcast 703 is similar to that in the first embodiment (refer toFIG. 7), and is not described herein. Thereafter, on the middlewarebeing executed, the program for the first broadcast 703 gives aninstruction for switching the service to be received from the firstbroadcast to the second broadcast. The broadcast service switchdetecting unit detects this instruction, and requests the applicablemiddleware selecting unit 40 to select middleware applicable to theprogram for the second broadcast service 706.

[0213] In response, the applicable middleware selecting unit 40 selectsthe middleware applicable to the program for the second broadcast 704based on the program identification information, and reports the resultto the middleware reading unit 41. The middleware reading unit 41 readsthe reported middleware from the middleware storage unit 43, and themiddleware executing unit 42 starts executing it. Thereafter, theprogram for the second broadcast 704 operates on the middleware beingexecuted, and the motion picture reproducing apparatus startsreproducing motion pictures, characters, still pictures, and others forthe second broadcast.

Industrial Applicability

[0214] As described above, according to the embodiments of the presentinvention, achieved is a motion picture reproducing apparatus at lowprice (being little increased in price even though the number ofspecifications are increased) capable of receiving motion picturestreams complying with various specifications such as those containingprograms that operate on different pieces of middleware, and reproducingmotion pictures.

1. A middleware selecting and executing device for motion picturereproduction used in a motion picture reproducing apparatus thatreproduces motion pictures by receiving a motion picture streamcontaining motion picture data, a program, and program identificationinformation sent out from a broadcast station, and operating the programon middleware based on the program identification information to processthe motion picture data, the device selectively executing middlewareapplicable to the program to make the program operable, the devicecomprising: middleware storage means that stores a plurality of piecesof middleware that are different from each other; selecting means forselecting, based on the program identification information in the motionpicture stream received by the motion picture reproducing apparatus, themiddleware applicable to the program in the motion picture stream;reading means for reading the middleware selected by the selecting meansfrom the middleware storage means; and executing means for executing themiddleware read by the reading means.
 2. The middleware selecting andexecuting device for motion picture reproduction according to claim 1,wherein when the middleware selected by the selecting means is notstored in the middleware storage means, the reading means reads themiddleware from an external server via a network.
 3. The middlewareselecting and executing device for motion picture reproduction accordingto claim 2, wherein the reading means additionally stores the middlewareread from the external server via the network in the middleware storagemeans; and when the middleware is again selected by the selecting means,reads the middleware from the middleware storage means.
 4. Themiddleware selecting and executing device for motion picturereproduction according to claim 1, further comprising adding means foradditionally storing new middleware provided by the broadcast station inthe middleware storage means.
 5. The middleware selecting and executingdevice for motion picture reproduction according to claim 4, wherein thebroadcast station further sends out an operation stream containingmiddleware, a middleware adding program, and program identificationinformation, and the adding means is implemented by the motion picturereproducing apparatus receiving the operation stream and operating,based on the program identification information, the middleware addingprogram on middleware applicable to the middleware adding program. 6.The middleware selecting and executing device for motion picturereproduction according to claim 1, wherein the program identificationinformation in the motion picture stream contains middleware codeindicating to which middleware the program in the motion picture streamis applicable, and the reading means holds a correspondence listcontaining, for each executable middleware, middleware code and astorage location thereof in relation to each other, and when reading themiddleware selected by the selecting means, extracts the middleware codefrom the program identification information in the stream received bythe motion picture reproducing apparatus for comparison with thecorrespondence list to specify the storage location of the middleware.7. The middleware selecting and executing device for motion picturereproduction according to claim 6, further comprisingcorrespondence-list revising means for making revision so as toadditionally write middleware code and a storage location of newmiddleware in the correspondence list held by the reading means.
 8. Themiddleware selecting and executing device for motion picturereproduction according to claim 7, wherein the broadcast station furthersends out an operation stream containing the middleware code and thestorage location of the new middleware, a correspondence-list revisingprogram, and program identification information, and thecorrespondence-list revising means is implemented by the motion picturereproducing apparatus receiving the operation stream, and operating,based on the program identification information, the correspondence-listrevising program on middleware applicable to the correspondence-listrevising program.
 9. The middleware selecting and executing device formotion picture reproduction according to claim 6, further comprising:adding means for additionally storing new middleware provided by thebroadcast station in the middleware storage means; andcorrespondence-list revising means for making, in accordance with thenew middleware additionally stored in the middleware storage means,revision so as to additionally write middleware code and a storagelocation of the new middleware in the correspondence list held by thereading means.
 10. The middleware selecting and executing device formotion picture reproduction according to claim 9, wherein the broadcaststation further sends an operation stream containing the new middleware,a middleware adding program, the middleware code and the storagelocation of the new middleware, a correspondence-list revising programand program identification information, and the adding means and thecorrespondence-list revising means are implemented by the motion picturereproducing apparatus receiving the operation stream and operating,based on the program identification information, the middleware addingprogram and the correspondence-list revising program on middlewareapplicable to the middleware adding program and the correspondence-listrevising program.
 11. The middleware selecting and executing device formotion picture reproduction according to claim 1, further comprisingpriority storage means for storing information indicating a priority ofeach executable middleware, wherein when the motion picture streamcontains a plurality of programs having the same function and operatingon different pieces of middleware and any one of the plurality ofprograms is selected by the motion picture reproduction for operation,the reading means refers to the information in the priority storagemeans to read middleware having a highest priority.
 12. The middlewareselecting and executing device for motion picture reproduction accordingto claim 11, wherein when an instruction from the user is inputted tothe motion picture reproducing apparatus, the priority storage meanschanges the stored priority information.
 13. The middleware selectingand executing device for motion picture reproduction according to claim11, further comprising priority changing means for changing the priorityinformation stored in the priority storage means into new priorityinformation provided by the broadcast station.
 14. The middlewareselecting and executing device for motion picture reproduction accordingto claim 13, wherein the broadcast station further sends out anoperation stream containing the new priority information, a prioritychanging program, and program identification information, and thepriority changing means is implemented by the motion picture reproducingapparatus receiving the operation stream and operating, based on theprogram identification information, the priority changing program onmiddleware applicable to the priority changing program.
 15. Themiddleware selecting and executing device for motion picturereproduction according to claim 1, wherein when the motion picturestream contains a plurality of programs corresponding to differentbroadcast services, the motion picture reproducing apparatus selects anyone of the broadcast services and operates a program corresponding tothe broadcast service, and the device further comprises a service switchdetecting means for detecting, with the program that corresponds to thebroadcast service operating on middleware applicable to the program,that the program instructs the motion picture reproducing apparatus toswitch to another broadcast service, and requesting the selecting meansto select middleware applicable to a program corresponding to the otherbroadcast service.
 16. The middleware selecting and executing device formotion picture reproduction according to claim 1, wherein when themiddleware being executed is terminated the executing means releasesresources allocated for the middleware.
 17. In a motion picturereproducing apparatus that reproduces motion pictures by receiving amotion picture stream containing motion picture data, a program, andprogram identification information sent out from a broadcast station,and operating the program on middleware based on the programidentification information to process the motion picture data, a methodof selectively executing middleware applicable to the program to makethe program operable, the method comprising: a middleware storing stepof storing a plurality of pieces of middleware that are different fromeach other; a selecting step of selecting, based on the programidentification information in the motion picture stream received by themotion picture reproducing apparatus, the middleware applicable to theprogram in the motion picture stream; a reading step of reading themiddleware selected in the selecting step from the middleware storingstep; and an executing step of executing the middleware read in thereading step.
 18. In a motion picture reproducing apparatus thatreproduces motion pictures by receiving a motion picture streamcontaining motion picture data, a program, and program identificationinformation sent out from a broadcast station, and operating the programon middleware based on the program identification information to processthe motion picture data, a middleware selecting and executing programbeing dedicated to the motion picture reproducing apparatus and having amethod computer-readably written therein, the method of selectivelyexecuting middleware applicable to the program to make the programoperable, the middleware selecting and executing program comprising: amiddleware storing step of storing a plurality of pieces of middlewarethat are different from each other; a selecting step of selecting, basedon the program identification information in the motion picture streamreceived by the motion picture reproducing apparatus, the middlewareapplicable to the program in the motion picture stream; a reading stepof reading the middleware selected in the selecting step from themiddleware storing step; and an executing step of executing themiddleware read in the reading step.
 19. In a motion picture reproducingapparatus that reproduces motion pictures by receiving a motion picturestream containing motion picture data, a program, and programidentification information sent out from a broadcast station, andoperating the program on middleware based on the program identificationinformation to process the motion picture data, a recording mediumstoring a middleware selecting and executing program being dedicated tothe motion picture reproducing apparatus and having a methodcomputer-readably written therein, the method of selectively executingmiddleware applicable to the program to make the program operable, themiddleware selecting and executing program comprising: a middlewarestoring step of storing a plurality of pieces of middleware that aredifferent from each other; a selecting step of selecting, based on theprogram identification information in the motion picture stream receivedby the motion picture reproducing apparatus, the middleware applicableto the program in the motion picture stream; a reading step of readingthe middleware selected in the selecting step from the middlewarestoring step; and an executing step of executing the middleware read inthe reading step.